package secondStage.part2.内部类.four;

/**
 * @ClassName: [Outer]
 * @Description: 匿名内部类
 * @Author: [黄劲松]
 * @CreateDate: [2021-03-21]
 * @Version: [v1.0]
 */

/**
 * 匿名内部类:
 * 前提：存在一个类或者接口，可以是具体类也可以是抽象类
 * 格式：new 类名或接口名（）{}
 * 本质：是一个继承了该类或实现了该接口的子类匿名对象
 */
public class Outer {

    public void method() {
        /*
        new Inter(){
            @Override
            public void show() {
                System.out.println("匿名内部类");
            }
        };
        */
        /*new Inter() {
            @Override
            public void show() {
                System.out.println("匿名内部类");
            }
        }.show();*/
        //多次调用可以通过这样的方法
        Inter i = new Inter() {
            @Override
            public void show() {
                System.out.println("多次调用方法");
            }
        };
        i.show();
        i.show();
        i.show();
    }
}
